package com.ruoyi.testing.service;

import com.ruoyi.testing.domain.EntrustmentAgreementDetail;
import com.ruoyi.testing.domain.EntrustmentTest;

import java.util.List;

/**
 * 项目委托书详情信息Service接口
 * 
 * @author ruoyi
 * @date 2023-10-16
 */
public interface IEntrustmentAgreementDetailService 
{
    /**
     * 查询项目委托书详情信息
     * 
     * @param id 项目委托书详情信息主键
     * @return 项目委托书详情信息
     */
    public EntrustmentAgreementDetail selectEntrustmentAgreementDetailById(String id);

    /**
     * 查询项目委托书详情信息列表
     * 
     * @param entrustmentAgreementDetail 项目委托书详情信息
     * @return 项目委托书详情信息集合
     */
    public List<EntrustmentAgreementDetail> selectEntrustmentAgreementDetailList(EntrustmentAgreementDetail entrustmentAgreementDetail);

    /**
     * 根据项目编号查询详情列表
     */
    public List<EntrustmentAgreementDetail> selectEntrustmentAgreementDetailByNum(String agreementNum, String state);

    /**
     * 根据项目编号和类别查询详情信息
     */
    EntrustmentAgreementDetail selectEntrustmentAgreementDetailByNumAndType(String agreementNum, String sampleType);

    /**
     * 查询报告处理委托单详情信息
     */
    List<EntrustmentTest> selectEntrustmentReportDetail(EntrustmentTest entrustmentTest);


    /**
     * 新增项目委托书详情信息
     * 
     * @param entrustmentAgreementDetail 项目委托书详情信息
     * @return 结果
     */
    public int insertEntrustmentAgreementDetail(EntrustmentAgreementDetail entrustmentAgreementDetail);

    /**
     * 修改项目委托书详情信息
     * 
     * @param entrustmentAgreementDetail 项目委托书详情信息
     * @return 结果
     */
    public int updateEntrustmentAgreementDetail(EntrustmentAgreementDetail entrustmentAgreementDetail);

    /**
     * 批量删除项目委托书详情信息
     * 
     * @param ids 需要删除的项目委托书详情信息主键集合
     * @return 结果
     */
    public int deleteEntrustmentAgreementDetailByIds(String[] ids);

    /**
     * 删除项目委托书详情信息信息
     * 
     * @param id 项目委托书详情信息主键
     * @return 结果
     */
    public int deleteEntrustmentAgreementDetailById(String id);
}
